package magazzino.web.visualizzaOrdine;

import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import magazzino.web.NameAttributes;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import to.pm.acquisti.bi.GestioneOrdineBusiness;
import to.pm.ejb.EjbName;
import to.pm.entity.acquisti.OrdineEsterno;


public class VisualizzaOrdineAction extends org.apache.struts.action.Action {
    Logger log = Logger.getAnonymousLogger();

    @EJB(mappedName=EjbName.OrdineEsternoBean)
    private GestioneOrdineBusiness ordine;

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        log.info("VisualizzaOrdineAction::execute");
        OrdineEsterno oe = (OrdineEsterno) request.getSession().getAttribute(NameAttributes.GESTIONERICEZIONE_ORDINESELEZIONATO.name());
        if (null != oe) {

            if(request.getParameter("idRicezione")!=null) {
                return printInfoRicezione(mapping,  form, request, response);
            }

            oe =  ordine.recuperaInfo(oe);
            request.setAttribute("ordine", oe);
            log.info("esci da action su getInputForward()");
            return mapping.getInputForward();
        } else {
            log.info("esci da action su failure: "+mapping.findForward("failure").getPath());
            return mapping.findForward("failure");
        }
        
    }

    public ActionForward printInfoRicezione (ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

            String idRicezione = request.getParameter("idRicezione");


            PdfRicezione pdf = new PdfRicezione();
            pdf.print(response, "Ciao ciao! ricezione: "+idRicezione);

            return null;
    }


}
